package com.zy.crm.workbench.service.impl;

import com.github.pagehelper.PageHelper;
import com.zy.crm.workbench.dao.HangDaoDao;
import com.zy.crm.workbench.domain.HangDao;
import com.zy.crm.workbench.domain.history_gangao;
import com.zy.crm.workbench.service.HangDaoService;
import com.zy.crm.utils.DateTimeUtil;
import com.zy.crm.utils.UUDIUtil;
import com.zy.crm.vo.Message;
import com.zy.crm.vo.PaginationVo;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author CYH

 */
@Service
public class HangDaoServiceImpl implements HangDaoService {



    // 市场活动备注dao
    @Resource
    private HangDaoDao hangDao;

    // 添加使用者信息
    @Override
    public Message saveHangDao(HangDao Hangdao)  {
        Message msg = new Message();
        //添加id和时间，
        // 创建UUID
        String uuid = UUDIUtil.getUUID();
        Hangdao.setId(uuid);

        // 添加实时时间
        String createTime = DateTimeUtil.getSysTime();
        Hangdao.setWrite_time(createTime);

        System.out.println(Hangdao);//有数据，前后端数据传输无误
        System.out.println("继续排查是否是service有问题");
        //Hangdao
        // 得到保存信息成功条数,排查得知是这里出问题了，没有返回出来了
        int result =0;
        result=hangDao.insert_hangDao(Hangdao);
        System.out.println("测试是否出数据层"+result);
        // 添加成功
        if(result > 0){
            System.out.println("添加成功");
            msg.setSuccess(true);
        //  添加失败
        }else {
            System.out.println("添加失败");
            msg.setSuccess(false);
        }

        return msg;
    }

    // 分页查询信息
    @Override
    public PaginationVo<HangDao> getPageList(String pageNo, String pageSize, HangDao Hangdao) {
        PaginationVo<HangDao> paginationVo = new PaginationVo<>();
        // 根据页码查询 利用pageHelper进行分页查询
        // 第一个参数是页号 第二个参数是每页的记录条数
        int pageNum = Integer.parseInt(pageNo);
        int pageSizes = Integer.parseInt(pageSize);
        PageHelper.startPage(pageNum,pageSizes);
        //System.out.println("成功进入航道业务层");
        List<HangDao> hangDaos = hangDao.selectPageList(Hangdao);
        //System.out.println("成功出来hangDaos"+hangDaos);
        // 查询市场活动总条数
        int totalSize = hangDao.selectTotalSize(Hangdao);

        // 利用vo封装总的记录条数和查询结果集
        paginationVo.setDataList(hangDaos);//对应的是activity
        paginationVo.setTotalSize(totalSize);
        return paginationVo;
    }


    // 删除用户，因为有可能有多个用户要删除，所以传入数组
    @Override
    @Transactional
    public Message deleteHangDao(String[] HangDaoIds) {

        Message msg = new Message();
        System.out.println("进入删除的service层");
        int HangDaoResult = hangDao.deleteHangDaoByIds(HangDaoIds);
        System.out.println("出删除的service层");
        String result = "成功删除使用者" + HangDaoResult + "条";
        msg.setSuccess(true);
        msg.setMsg(result);
        return msg;
    }



//修改用户信息
    @Override
    public Message updateHangDaoById(HangDao hangdao) {
        // 添加实时时间
        String createTime = DateTimeUtil.getSysTime();
        hangdao.setWrite_time(createTime);

        Message msg = new Message();
        System.out.println("成功进入了业务层"+hangdao);
        int result =  hangDao.updateHangDaoById(hangdao);
        //System.out.println("测试是否出了持久层");
        // 成功修改一条记录表示修改成功
        if(result == 1){
            msg.setSuccess(true);
        }

        return msg;
    }

//根据id查一条用户信息
@Override
public HangDao  getHangDaoById(String id) {
    System.out.println("测试是否进入了业务层，测试id是否存入"+id);
    // 拿到活动信息,id传输无误，查看sql语句
    HangDao hd = hangDao.selectHangDaoById(id);
    System.out.println("测试是否能出持久层");
    return hd;
    }



    //打印
    @Override
    public List<HangDao>  getPrint(HangDao water) {

        List<HangDao> hd = hangDao.print(water);
        //System.out.println("测试是否能出持久层");

        return hd;
    }

}












